home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 June / ccd0605.iso / Software / Freeware / Programare / highlight / highlight-W32GUI-2.2-10b-Setup.exe / {app} / README_DE.txt < prev    next >
Text File  |  2005-02-10  |  12KB  |  373 lines

  1. --------------------------------------------------------------------------------
  2. ---  HIGHLIGHT MANUAL (W32 GUI) - Version 2.2-8 --------------- FEBRUAR 2004 ---
  3. --------------------------------------------------------------------------------
  4.  
  5. OSI Certified Open Source Software
  6.  
  7.  
  8. Highlight konvertiert Sourcecode in XHTML, HTML, RTF, TeX, LaTeX, XSL-FO und XML
  9. Dateien mit Syntaxhervorhebung. Sprachdefinitionen, Farbschemen und Einrⁿckungs-
  10. stile sind konfigurierbar
  11.  
  12.  
  13. INHALT:
  14. --------------------------------------------------------------------------------
  15.  
  16. 1. Betriebsysteme
  17. 2. Unterstⁿtzte Programmier- /Auszeichnungssprachen
  18. 3. Features
  19. 4. Neue Sprachdefinitionen definieren
  20. 5. Neue Farbstile definieren
  21. 6. Neues Einrⁿckungsschema definieren
  22. 7. Integration in Windows Explorer
  23. 8. Kontakt
  24.  
  25.  
  26. 1.BETRIEBSSYSTEME
  27. --------------------------------------------------------------------------------
  28.  
  29. Highlight ist in  C++ geschrieben. Momentan existieren 3 Versionen:
  30. - UNIX Konsolenanwendung
  31. - Win32 Konsolenanwendung
  32. - Win32 GUI
  33.  
  34. Der Sourcecode ist mit gcc 3.x, MS Visual .NET und MW Codewarrior8 kompilierbar.
  35.  
  36.  
  37. 2. UNTERST▄TZTE PROGRAMMIER -/ AUSZEICHNUNGSSPRACHEN:
  38. --------------------------------------------------------------------------------
  39.  
  40. Momentan unterstutzt Highlight folgende Programmiersprachen, Markup-Sprachen
  41. und Konfigurationsdateien:
  42.  
  43. Action Script, ADA 95, Agda, AMPL, Aspect, Assembler, Amtrix, Avenue, (G)AWK,
  44. Bash, BlitzBasic, BibTex, BMS, C, C++, C#, ClearBasic, Clipper, Cobol, Coldfusion
  45. MX, CSS, DOS-Batch, Eiffel, Erlang, Euphoria, Express, Felix, Fortran, Frink,
  46. Haskell, HTML, httpd.conf, Icon, IDL, INI, IO, Jasmin, Java, JavaScript, JSP,
  47. LaTeX, LDIF, Lisp, Lotos, Lotus Script, Lua, Make,Maya, Matlab, Maple, Modelica,
  48. Modula 3, Nasal, OCaml, (Object) Pascal, Objective C, Paradox, PATROL, Perl,
  49. PHP, Pike, PL/1, PL/SQL, PostScript, POV Ray, Progress, Prolog, Python, Relax
  50. NG Compact, Rexx, RPM Spec, Ruby, Small, SML, SNMPv2, Spin, Squirrel, Sybase, 
  51. VHDL, Visual Basic, XML.
  52.  
  53.  
  54. 3. FUNKTIONEN:
  55. --------------------------------------------------------------------------------
  56.  
  57. - Farbige Hervorhebung von Schlⁿsselw÷rtern, Typbezeichnern, Strings, Zahlen,
  58.   Escapesequenzen, Symbolen, Direktiven und Kommentaren
  59. - Hervorhebung von selbstdefinierten Schlⁿsselwort-Gruppen
  60. - Konfigurierbare Neuformatierung und Einrⁿckung von C, C++, C# und Java 
  61.   Sourcecode
  62. - Automatisches Umbrechen von ⁿberlangen Zeilen
  63. - Ausgabe im HTML-, XHTML-, RTF-, TeX, LaTeX, XSL-FO und XML
  64. - Ausgabe von Zeilennummern
  65. - Speichern der CSS-Definition wahlweise in separater Datei oder innerhalb der
  66.   Ausgabedatei
  67. - 50 Farbstile
  68. - Konvertierung von ASCII Textdateien ohne Highlighting in eines der
  69.   Ausgabeformate
  70.  
  71.  
  72.  
  73. 4. HIGHLIGHT DATEIFORMAT
  74. --------------------------------------------------------------------------------
  75.  
  76. Alle Konfigurationsdateien werden als einfache ASCII-Textdateien gespeichert.
  77. Das Format ist einfach gehalten:
  78.  
  79. $ParameterName=ParameterWert
  80.  
  81. ParameterName ist der Bezeichner fⁿr den Paramter, ParameterWert ist sein Wert.
  82. Die Bezeichner sind nicht case sensitive.
  83. Der Wert kann aus einem Zeichen oder auch einer Liste von W÷rtern bestehen.
  84. Listen k÷nnen in mehrere Zeilen aufgeteilt werden.
  85.  
  86. Kommentare beginnen mit # als erstem Zeichen in der Zeile.
  87.  
  88.  
  89.  
  90. 5. NEUE SPRACHDEFINITION DEFINIEREN:
  91. --------------------------------------------------------------------------------
  92.  
  93. Eine Sprachdefinitionen ist eine Textdatei, in der Schlⁿsselw÷rter und Symbole
  94. einer Programmiersprache mehreren Kategorien zugeordnet werden.
  95. Die Datei muss im Installatinverzeichnis in langDefs/ unter folgendem Namen
  96. gespeichert werden:
  97.  
  98. <ⁿbliche Endung der Sourcecodedateien>.lang
  99.  
  100. Beispiele: PHP -> php.lang, Java -> java.lang
  101.  
  102. Sollte es mehrere gebrΣuchliche Endungen geben, kann man diese in der Datei
  103. extensions.conf* notieren.
  104.  
  105. DATEIFORMAT:
  106.  
  107. # Liste der Schlⁿsselw÷rter, <class> ist der Name der Schlⁿsselwort-Gruppe
  108. # Die Klasse muss in dem angewandten Farbschema definiert sein, um eine passende
  109. # Hervorhebung zu erm÷glichen
  110. $KW_LIST(<class>)=<List>
  111.  
  112. # PrΣfix, die Schlⁿsselw÷rter markiert
  113. # Die Klasse muss in dem angewandten Farbschema definiert sein, um eine passende
  114. # Hervorhebung zu erm÷glichen
  115. $KW_PREFIX(<class>)=<Character>
  116.  
  117. # Begrenzer fⁿr Schlⁿsselw÷rter
  118. # Die Klasse muss in dem angewandten Farbschema definiert sein, um eine passende
  119. # Hervorhebung zu erm÷glichen
  120. $KW_DELIM(<class>)=<open close>
  121.  
  122. # Tagbegrenzer
  123. # Tags werden wie Schlⁿsselw÷rter formatiert
  124. $TAG_DELIM(class)=<tag_open tag_close>
  125.  
  126. # Liste der Stringbegrenzer
  127. $STRINGDELIMITERS=<Liste>
  128.  
  129. # Liste der Escapecharacter innerhalb von Strings (normalerweise \)
  130. $ESCCHAR=<Liste>
  131.  
  132. # PrΣfix, die das Hervorheben von Escapesequenzen in "Simplified Strings"
  133. # (C#) verhindert
  134. $RAWSTRINGPREFIX=<Character>
  135.  
  136. # Kommentarbeginn  und -ende beim mehrzeiligen Kommentar
  137. $ML_COMMENT=<Kommentarbeginn  Kommentarende>
  138.  
  139. # Liste der Bezeichner, die einen einzeiligen Kommentar einleiten
  140. $SL_COMMENT=<Liste>
  141.  
  142. # Auf true setzen, falls einzeilige Kommentare in Spalte 1 beginnen
  143. $FL_COMMENT=<true / false>
  144.  
  145. # Einleitender Bezeichner von Compilerdirektiven
  146. $DIRECTIVE=<Praefix>
  147.  
  148. # Auf true setzen, falls Sprache reformatiert werden kann (nur C-Σhnliche
  149. # Sprachen)
  150. $REFORMATTING=<true / false>
  151.  
  152. # Symbole wie z.B. Klammern oder Operatoren, die hervorgehoben werden sollen
  153. $SYMBOLS=<Liste>
  154.  
  155. # Character, die in Schlⁿsselw÷rtern auftreten k÷nnen
  156. $ALLOWEDCHARS=<character list>
  157.  
  158. # Falls mehrzeilige Kommentare verschachtelt werden dⁿrfen, auf true
  159. # setzen
  160. $ALLOWNESTEDCOMMENTS=<true / false>
  161.  
  162. # Falls Programmiersprache nicht case-sensitive ist, auf true setzen
  163. $IGNORECASE=<true / false>
  164.  
  165. # Fⁿge eine andere Sprachdefinition aus dem selben Verzeichnis ein
  166. $INCLUDE=<language definition>
  167.  
  168.  
  169. Beim Erstellen neuer Dateien kann man die Schlⁿsselw÷rter aus Dateien anderer
  170. Programme mit Syntaxhighlighting (z.B VIM, UltraEdit) kopieren.
  171.  
  172. Beispiel:
  173.  
  174. #Inhalt von pas.lang (Pascal/Objekt Pascal)
  175.  
  176. $KW_LIST(kwa)=true false if else then nil maxint case goto label and div downto in
  177. mod not of or packed with do for do repeat while to until procedure function
  178. program begin end const var type unit interface implementation uses private
  179. public
  180.  
  181. $KW_LIST(kwb)=array boolean char integer file pointer real set string text record
  182.  
  183. $STRINGDELIMITERS=" '
  184. $SL_COMMENT=//
  185. $ML_COMMENT={ }
  186. $IGNORECASE=true
  187.  
  188.  
  189. 6. NEUEN FARBSTIL DEFINIEREN:
  190. --------------------------------------------------------------------------------
  191.  
  192. Die Farbstile bestehen aus einfachen ASCII-Dateien, in denen man die Format-
  193. eigenschaften der Ausgabe festlegt. Die RTF- Ausgabe ignoriert die Hintergrund-
  194. farbe. Die Dateien mⁿssen mit der Endung .style im highlight -
  195. Verzeichnis/themes* gespeichert werden. 
  196.  
  197. DATEIFORMAT:
  198.  
  199. #<ColourAttr> = RR GG BB
  200. #RR GG BB steht dabei fⁿr die hexadezimalen Rot/Grⁿn/Blau - Werte, die die
  201. #gewⁿnschte Farbe definieren.
  202. #(Wertebereich: 00 (kein Anteil) - FF (voller Anteil))
  203.  
  204. #<FormatAttr> = ( <bold> <italic> <underline> )
  205. # Bold, italic und underline sind optional und k÷nnen kombiniert werden.
  206.  
  207.  
  208. # Farbe des nicht erkannten Textes
  209. $DEFAULTCOLOUR=<ColourAttr>
  210.  
  211. # Hintergrundfarbe
  212. $BGCOLOUR=<ColourAttr>
  213.  
  214. # Schriftgr÷sse
  215. $FONTSIZE=<number>
  216.  
  217. # Formatierung von Schlⁿsselw÷rtern, die zu der gleichnamigen Klasse geh÷ren
  218. $KW_CLASS(<class>)=<ColourAttr> ( <FormatAttr> )
  219.  
  220. # Formatierung von Zahlen
  221. $NUMBER=<ColourAttr> ( <FormatAttr> )
  222.  
  223. # Formatierung von Escape Character
  224. $ESCAPECHAR=<ColourAttr> ( <FormatAttr> )
  225.  
  226. # Formatierung der Strings
  227. $STRING=<ColourAttr> ( <FormatAttr> )
  228.  
  229. # Formatierung von Strings innerhalb von Compilerdirektiven
  230. $STRING_DIRECTIVE=<ColourAttr> ( <FormatAttr> )
  231.  
  232. # Formatierung von Kommentaren
  233. $COMMENT=<ColourAttr> ( <FormatAttr> )
  234.  
  235. # Formatierung von einzeiligen Kommentaren (optional, sonst wie $COMMENT)
  236. $SL-COMMENT=<ColourAttr> ( <FormatAttr> )
  237.  
  238. # Formatierung von Compilerdirektiven
  239. $DIRECTIVE=<ColourAttr> ( <FormatAttr> )
  240.  
  241. # Formatierung von Klammern (optional, sonst wie $DEFAULTCOLOR)
  242. $SYMBOL=<ColourAttr> ( <FormatAttr> )
  243.  
  244. # Formatierung von Zeilenummern
  245. $LINE=<ColourAttr> ( <FormatAttr> )
  246.  
  247.  
  248. Beispiel:
  249.  
  250. # golden.style
  251. $DEFAULTCOLOUR=dd bb 00
  252. $BGCOLOUR=00 00 00
  253. $FONTSIZE=10
  254. $KW_CLASS(kwa)=dd bb 00 bold
  255. $KW_CLASS(kwb)=dd bb 00
  256. $NUMBER=ff ff ff
  257. $ESCAPECHAR=ff 00 00
  258. $STRING=ff 00 00
  259. $STRING_DIRECTIVE=ff 00 00
  260. $COMMENT=97 83 45 italic
  261. $DIRECTIVE=ff dd aa
  262. $LINE=97 83 45
  263.  
  264.  
  265. 7. NEUES EINRⁿCKUNGSSCHEMA DEFINIEREN
  266. --------------------------------------------------------------------------------
  267.  
  268. Sie k÷nnen die Formatierung und Einrⁿckung selbst anpassen. Um die Formatierung
  269. fⁿr die eingesetzte Programmiersprache zu erm÷glichen, muss in der Sprach-
  270. definition die Option $REFORMATTING=true gesetzt sein. Beachten Sie, dass der
  271. Artistic Style Parser fⁿr die Verarbeitung von C-Σhnlicher Syntax ausgelegt ist.
  272. Das neue Schema speichern Sie bitte als *.indent Textdatei in highlightVerz/
  273. indentSchemes*. 
  274.  
  275. DATEIFORMAT:
  276.  
  277. Kommentare beginnen mit # als erstem Zeichen in der Zeile.
  278.  
  279.  
  280. # Behandlung von Klammern:
  281. # "break":  L÷se Klammern vom letzten Block (ANSI C/C++ style).
  282. # "attach": Verbinde Klammern mit letztem Block (Java/K&R style).
  283. # "linux":  L÷se Klammern von Definitionsbl÷cken, verbinde Klammern mit
  284. #           Kommandobl÷cken
  285. # "break-closing-headers": Break brackets before closing headers (e.g. 'else',
  286. #                          'catch', ..).  Should be appended to $brackets=attach
  287. #                          or $brackets=linux.
  288. $BRACKETS=<break | attach | linux | break-closing-headers>
  289.  
  290. # Umschliesse Bl÷cke, Labels und Klassen mit Leerzeilen
  291. # "true": Standardmodus
  292. # "all": Umschliesse auch closing headers (e.g. 'else', 'catch', ...).
  293. $BREAK-BLOCKS=<true | false | all>
  294.  
  295. # Teile 'else if()' Anweisungen in zwei Zeilen auf
  296. $BREAK-ELSEIFS=<true / false>
  297.  
  298. # Rⁿcke Bl÷cke inkl. Klammern zusΣtzlich ein
  299. $INDENT-BLOCKS=<true / false>
  300.  
  301. # Rⁿcke die Blockklammern '{' und '}' zusΣtzlich ein
  302. $INDENT-BRACKETS=<true / false>
  303.  
  304. # Rⁿcke 'case XXX:' Zeilen ein, so dass sie mit dem zugeh÷rigen Code
  305. # ausgerichtet sind
  306. $INDENT-CASES=<true / false>
  307.  
  308. # Rⁿcke 'class' -Bl÷cke ein, so dass die inneren 'public:', 'protected:' und
  309. # 'private:' Bezeichner passend zum class-Block ausgerichtet sind.
  310. $INDENT-CLASSES=<true / false>
  311.  
  312. # Rⁿcke Label um eine Stufe weniger als der umgebende Block ein, anstatt sie
  313. # komplett nach links zu verschieben (default)
  314. $INDENT-LABELS=<true / false>
  315.  
  316. # Rⁿcke den Inhalt von namespace - Bl÷cken ein.
  317. $INDENT-NAMESPACES=<true / false>
  318.  
  319. # Rⁿcke mehrzeilige #define Anweisungen ein
  320. INDENT-PREPROCESSOR=<true / false>
  321.  
  322. # Rⁿcke mit <num> Leereichen pro Einzug ein (Defaultwert: 4)
  323. $INDENT-SPACES=<num>
  324.  
  325. # Rⁿcke  'switch' Bl÷cke ein, so dass die inneren 'case XXX:' Anweisungen am
  326. # switch - Block ausgerichtet sind.
  327. $INDENT-SWITCHES=<true / false>
  328.  
  329. # Schalte in den Java-Modus (nur geeignet fⁿr Java Code)
  330. $JAVA-STYLE=<true / false>
  331.  
  332. # Rⁿcke mehrzeilige Anweisungen in Bezug zur VorgΣngerzeile mit max. <num>
  333. # Leerzeichen ein
  334. $MAX-INSTATEMENT-INDENT=<num>
  335.  
  336. # Rⁿcke mehrzeilige Bedingungen (in einem 'if' oder 'while' Block) mit
  337. # mindestens <num> Leerzeichen ein.
  338. $MIN-CONDITIONAL-INDENT=<num>
  339.  
  340. # Umschliesse Symbole mit Leerzeichen:
  341. # "paren": Nur Klammern umschliessen
  342. # "oper":  Nur Operatoren umschliessen
  343. # "all":   Klammern und Operatoren umschliessen
  344. $PAD=<paren | oper | all>
  345.  
  346.  
  347. Beispiel:
  348.  
  349. # K&R indentation scheme
  350. $indent-brackets=false
  351. $indent-spaces=4
  352. $brackets=attach
  353. $indent-classes=false
  354. $indent-switches=false
  355. $indent-namespaces=false
  356.  
  357.  
  358.  
  359. 8. INTEGRATION IN WINDOWS EXPLORER
  360. --------------------------------------------------------------------------------
  361.  
  362. Fⁿgen Sie eine Verknⁿpfung zur WinHighlight.exe im Ordner "SendTo" hinzu, der
  363. sich im Homeverzeichnis des angemeldeten Benutzers befindet. Nun k÷nnen Sie
  364. im Explorer die Eingabedateien markieren, ⁿber das Kontextmenⁿ "Senden an"
  365. wΣhlen und anschlie▀end WinHighlight anklicken. Die Dateien befinden sich
  366. nach dem Programmstart in der Liste der Eingabedateien.
  367.  
  368.  
  369. 9. KONTAKT:
  370. --------------------------------------------------------------------------------
  371. AndrΘ Simon
  372. andre.simon1@gmx.de
  373. http://www.andre-simon.de